技術問答
技術文章
iT 徵才
Tag
聊天室
2025 鐵人賽
登入/註冊
問答
文章
Tag
邦友
鐵人賽
搜尋
第 12 屆 iThome 鐵人賽
DAY
18
0
Software Development
ScyllaDB實作紀錄
系列 第
18
篇
Day18 DataModel - Secondary Index
12th鐵人賽
Van Gogh
團隊
神龍特攻隊-為了燒肉不小心成為一條龍
2020-09-26 00:09:28
724 瀏覽
分享至
Global Secondary Index
如果為一張table新增一個index,最終會發現,其實Scylla把新增index當成是新增一個Materialized View。這裡的index指的是Global Secondary Index。一樣用painting這個table來解釋。
原本的表格
新增index - painting_name
然後再desc一次painting,這時候發現多出了一個view,
然後就可以用name當作條件來查詢painting了
但是實際上的查詢流程是這樣的,首先Scylla發現有一個index滿足使用name當成條件的查詢,所以先到這個view把對應的id撈出來。
接著再回到原本的table裡,把得到的id當成條件查詢出所要的資訊。
Local Secondary Index
還有一種Secondary Index,稱為Local Secondary Index。與Global Secondary Index不同的是,它的Partition Key與原本的Table相同,差別只有在後面的Clustering Key。
如此一來Local Secondary Index所建立的view和原本的Table,資料分布會在同一個node。所以兩次查詢都可以在同一個node完成,而不需再透過其他的node得到資料,大大減低了所需的時間。
留言
追蹤
檢舉
上一篇
Day17 DataModel - Materialized Views
下一篇
Day19 Admin Tools - nodetool(一)
系列文
ScyllaDB實作紀錄
共
30
篇
目錄
RSS系列文
訂閱系列文
6
人訂閱
26
Day26 Scylla Monitor(二)
27
Day27 實作-新增與刪除node
28
Day28 實作-備份與還原
29
Day29 新版功能介紹 - CDC
30
Day30 心得感言
完整目錄
熱門推薦
{{ item.subject }}
{{ item.channelVendor }}
|
{{ item.webinarstarted }}
|
{{ formatDate(item.duration) }}
直播中
立即報名
尚未有邦友留言
立即登入留言
iThome鐵人賽
參賽組數
472
組
團體組數
18
組
累計文章數
3895
篇
最後報名日
9/15
看影片追技術
看更多
{{ item.subject }}
{{ item.channelVendor }}
|
{{ formatDate(item.duration) }}
直播中
熱門tag
看更多
15th鐵人賽
16th鐵人賽
13th鐵人賽
14th鐵人賽
12th鐵人賽
11th鐵人賽
鐵人賽
2019鐵人賽
javascript
2018鐵人賽
python
17th鐵人賽
2017鐵人賽
windows
php
c#
windows server
linux
css
react
熱門問題
Jaspersoft 的資料庫連結 出現錯誤:驅動程式無法使用安全通訊端層 (SSL) 加密建立與 SQL Server 的安全連接。
尋求git之外的 高效能本機檔案備份 & 版本管理推薦
aws ec2 檢查故障問題
IIS 管理員 連線功能不見
Windows 10停止支持?用这工具续命到2032年?
port-forwading到遠程網段
HackerOne的賞金等好久都領不到
各種CAL 的用途
少見字在瀏覽器出現「??」,但在PHPMyAdmin卻是正常呈現
熱門回答
尋求git之外的 高效能本機檔案備份 & 版本管理推薦
少見字在瀏覽器出現「??」,但在PHPMyAdmin卻是正常呈現
aws ec2 檢查故障問題
port-forwading到遠程網段
HackerOne的賞金等好久都領不到
熱門文章
Signal 的核心概念
Reactivity 的概念與演進
Signal 與 Proxy、Virtual DOM 的區別
理解 Signal 運作原理
Reactivity 兩大驅動模式: Pull-based vs. Push-based
IT邦幫忙
×
標記使用者
輸入對方的帳號或暱稱
Loading
找不到結果。
標記
{{ result.label }}
{{ result.account }}